home *** CD-ROM | disk | FTP | other *** search
/ Amoszine 4 / Amoszine 4 (Disk 2 of 3).adf / INSANE_DEMO_SOURCE / INSANE_DEMO.lha / INSANE_SOURCE.ASC
Text File  |  1992-02-26  |  55KB  |  1,258 lines

  1. ' And the legend continues....   
  2. '
  3. ' Structured Insanity II 
  4. ' the latest Fanatix demo... 
  5. '
  6. ' We don't mind people looking through this code for some help, but
  7. '  if you are looking through with an intention to rip our code then 
  8. '  consider yourself a sad, and talentless cripple.
  9. ' As all demos in the AMOS PD will now have to include source, we WILL 
  10. '  know if you rip our code, and we will tell everyone just how lame 
  11. '  you really are....  YOU HAVE BEEN WARNED
  12. '
  13. ' PD libraries may not edit and recompile this code... 
  14. '
  15. ' Hello's to Bitmap, Cybornetics, Syntex, Beholder, Bladerunners, Reinca 
  16. '  , Sandra Sharkey (for all her MANY faults), and Phil South (we sent this
  17. '  to you because you are a bit behind. Music Disk was done AGES ago!) 
  18. ' Also, we are available as freelance AMOS programmers, so if you need us, 
  19. '  just call!!!  (Or write)
  20. '
  21. Set Buffer 30
  22. Dim CX(360),O$(6),AMOUNT(6),LIMIT(6),X#(64),Y#(64),Z#(64)
  23. Shared CX(),O$(),AMOUNT(),LIMIT(),X#(),Y#(),Z#()
  24. Dim A(2),CX#(720),X(44),Y(44),XS(8),YS(8),XP(8),YP(8),XI(8),YI(8)
  25. Shared A(),CX#(),F,T$,X(),Y(),XS(),YS(),XP(),YP(),XI(),YI()
  26. Dim CS(6),BT(64),P(44),DX(44),DY(44)
  27. Shared CS(),BT(),P(),DX(),DY()
  28. Close Workbench : Close Editor : Degree : Led Off : Hide On : Break Off 
  29. Proc INIT1 : Proc ITRO
  30.    T$="                  " : T$=T$+"  WELCOME TO OUR  "
  31. T$=T$+"LATEST PRODUCTION!" : T$=T$+"                  "
  32. T$=T$+"THE FIRST FANATIX " : T$=T$+"DEMO IN NINETY-TWO"
  33. T$=T$+"                  " : T$=T$+"PREPARE YOURSELF.."
  34. T$=T$+"                  " : T$=T$+"CODING- JAG...    "
  35. T$=T$+" GFX-   CHAOS     " : T$=T$+"        SANDMAN   "
  36. T$=T$+"        TEXAS TEZ " : T$=T$+"        JAG       "
  37. T$=T$+"MUSIC-  DR AWESOME" : T$=T$+"  FROM CRUSADERS  "
  38. T$=T$+"                  " : T$=T$+" LET US BEGIN.... "
  39. T$=T$+"                  " : T$=T$+" FIRST UP AN ODD  "
  40. T$=T$+"  CIRCLE EFFECT.  " : T$=T$+"                  "
  41. T$=T$+" THIS IS THE SAME " : T$=T$+"  AS THE ONE BY   "
  42. T$=T$+"  BITMAP- BUT WE  " : T$=T$+" ADDED A TWIST... "
  43. T$=T$+"                  "
  44. Proc DTEXT[T$] : Proc CIRC : Update On 
  45.    T$="                  " : T$=T$+"AND NOW WE PRESENT"
  46. T$=T$+"     TO YOU--     " : T$=T$+"                  "
  47. T$=T$+"  SOME COOL LINE  " : T$=T$+"    VECTORS...    "
  48. T$=T$+"THEY RUN AT VARIED" : T$=T$+"   FRAME RATES.   "
  49. T$=T$+"                  " : T$=T$+"                  "
  50. T$=T$+" WOULD YOU PLEASE " : T$=T$+"  NOTE THAT THIS  "
  51. T$=T$+"    DEMO DOES     " : T$=T$+"                  "
  52. T$=T$+"     +*NOT*+      " : T$=T$+"                  "
  53. T$=T$+"USE AMOS THREE D.." : T$=T$+"                  "
  54. Proc DTEXT[T$] : Proc ROTROUT2 : Update On 
  55.    T$=" +UNLIMITED BOBS+ " : T$=T$+"YES.. WE KNOW THAT"
  56. T$=T$+"THESE ARE EASY AND" : T$=T$+" BORING NOWADAYS- "
  57. T$=T$+"                  " : T$=T$+"BUT HAVE YOU EVER "
  58. T$=T$+"SEEN ONE WITH TWO " : T$=T$+"    ORIGINS...    "
  59. T$=T$+"LEFT MOUSE LEAVES!"
  60. Proc DTEXT[T$] : Proc UNLIM : Update On 
  61.    T$="                  " : T$=T$+"EEH- NOT ALL THAT "
  62. T$=T$+" IMPRESSIVE! BUT  " : T$=T$+"    PRETTY...     "
  63. T$=T$+"                  " : T$=T$+"SO GET INTO THESE "
  64. T$=T$+" STENCIL VECTORS! " : T$=T$+"    COOL NO???    "
  65. T$=T$+"                  "
  66. Proc DTEXT[T$] : Proc STENCILVECTORS : Update On 
  67.    T$="                  " : T$=T$+"WOW...            "
  68. T$=T$+"                  " : T$=T$+"                  "
  69. T$=T$+"COMING UP ARE SOME" : T$=T$+"  STRANGE FILLED  "
  70. T$=T$+"    SHAPES....    " : T$=T$+"                  "
  71. T$=T$+"                  " : T$=T$+"PRESS RIGHT BUTTON"
  72. T$=T$+"TO CHANGE PATTERN " : T$=T$+"                  "
  73. T$=T$+"AND THE LEFT WILL " : T$=T$+"     EXIT...      "
  74. T$=T$+"                  " : T$=T$+"*AFTER THE FOURTH "
  75. T$=T$+" THE PATTERNS ARE " : T$=T$+"     RANDOM*      "
  76. Proc DTEXT[T$] : Proc SHAPES : Update On 
  77.    T$="                  " : T$=T$+" AFTER THAT SMALL "
  78. T$=T$+"  PIECE OF CODE-  " : T$=T$+"                  "
  79. T$=T$+"SOMETHING SPECIAL-" : T$=T$+"                  "
  80. T$=T$+"                  " : T$=T$+" THREE D VECTORS! "
  81. T$=T$+"                  " : T$=T$+"                  "
  82. T$=T$+"YOU WILL NEED THE " : T$=T$+" GLASSES WITH ONE "
  83. T$=T$+" RED LENS AND ONE " : T$=T$+"  THAT IS BLUE..  "
  84. T$=T$+"                  " : T$=T$+"  YOU CAN HAVE A  "
  85. T$=T$+"GREEN LENS- BUT IT" : T$=T$+"WONT LOOK SO GOOD."
  86. Proc DTEXT[T$] : Proc THREED : Update On 
  87.    T$="                  " : T$=T$+"THATS QUITE NICE.."
  88. T$=T$+"                  " : T$=T$+" NOW FOR ANOTHER  "
  89. T$=T$+"COOL IDEA.. A MEGA" : T$=T$+"  SCROLLER-- THE  "
  90. T$=T$+" LARGEST ONE DONE " : T$=T$+"IN AMOS. AND WITH "
  91. T$=T$+" A PROPER FONT... "
  92. Proc DTEXT[T$] : Proc MSCROLL : Update On 
  93.    T$="                  " : T$=T$+"NOW FOR SOMETHING "
  94. T$=T$+"  VERY SPECIAL--  " : T$=T$+"                  "
  95. T$=T$+"    GET THIS..    " : T$=T$+"                  "
  96. T$=T$+"VECTORBOBS IN AMOS" : T$=T$+"!!!!!!!!!!!!!!!!!!"
  97. T$=T$+"                  " : T$=T$+"                  "
  98. T$=T$+"  THE FOLLOWING   " : T$=T$+"  OBJECTS RUN IN  "
  99. T$=T$+"  THREE OR FOUR   " : T$=T$+"  PLANES, AND WE  "
  100. T$=T$+"ACTUALLY GAVE THEM" : T$=T$+"PROPER PRIORITIES!"
  101. T$=T$+"                  " : T$=T$+"*THIS WASNT EASY!*"
  102. Proc DTEXT[T$] : Proc VECBOB : Update On 
  103.    T$="                  " : T$=T$+" THE NEXT PART OF "
  104. T$=T$+"  THIS DEMO IS A  " : T$=T$+"FILLED VECTOR FLAG"
  105. T$=T$+"                  " : T$=T$+"**SORRY ITS A BIT "
  106. T$=T$+" SLOW. BUT IT IS  " : T$=T$+"  REALTIME!!!!**  "
  107. T$=T$+"                  "
  108. Proc DTEXT[T$] : Proc FLAG : Update On 
  109.    T$="                  " : T$=T$+"  HERE ARE SOME   "
  110. T$=T$+"INTERESTING MATHS " : T$=T$+"    PATTERNS..    "
  111. T$=T$+"                  " : T$=T$+"+YOU MAY RECOGNISE"
  112. T$=T$+"THESE AS THE LINE " : T$=T$+" EFFECTS WITH NO  "
  113. T$=T$+"ERASING ROUTINE!!+"
  114. Proc DTEXT[T$] : Proc PATTERNS : Update On 
  115.    T$="                  " : T$=T$+"YOURE NOW NEARING "
  116. T$=T$+" THE END OF THIS  " : T$=T$+"NEW PRODUCTION...."
  117. T$=T$+"                  " : T$=T$+"PLEASE WAIT WHILE "
  118. T$=T$+"WE LOAD SOME MORE." : T$=T$+"                  "
  119. T$=T$+"                  "
  120. Proc DTEXT[T$] : Update On 
  121. Proc TERMINATE : Update On 
  122. Proc INIT2 : Update On 
  123. Proc THEEND : Update On 
  124. Proc OUTRO
  125. Procedure INIT1
  126. Dir$="df0:files"
  127. Load "cube.abk",8 : Save "ram:cube.abk",8
  128. Load "ship1.abk",8 : Save "ram:ship1.abk",8
  129. Load "diamond.abk",8 : Save "ram:diamond.abk",8
  130. Load "92.abk",8 : Save "ram:92.abk",8
  131. Load "plane.abk",8 : Save "ram:plane.abk",8
  132. Load "ship2.abk",8 : Save "ram:ship2.abk",8
  133. Load "bobcube.abk",9 : Save "ram:bobcube.abk",9
  134. Load "bobchair.abk",9 : Save "ram:bobchair.abk",9
  135. Load "bobspike.abk",9 : Save "ram:bobspike.abk",9
  136. Load "bobboard.abk",9 : Save "ram:bobboard.abk",9
  137. Load "bobbox.abk",9 : Save "ram:bobbox.abk",9
  138. Load "bobcopter.abk",9 : Save "ram:bobcopter.abk",9
  139. Load "flag.abk",9 : Save "ram:flag.abk",9
  140. Load "pattlogo.abk",6 : Save "ram:pattlogo.abk",6
  141. Load "circle.abk",5 : Save "ram:circle.abk",5
  142. Load "interfont.abk",1 : Save "ram:interfont.abk",1 : Erase 1
  143. Load "bob.abk",1 : Save "ram:bob.abk",1 : Erase 1
  144. Load "unbob.abk",1 : Save "ram:unbob.abk",1 : Erase 1
  145. Load "mscrolldata.abk",8 : Save "ram:mscrolldata.abk",8
  146. Load "mscrollfont.abk",1 : Save "ram:mscrollfont.abk",1 : Erase 1
  147. Load "stencil.abk",6 : Save "ram:stencil.abk",6
  148. Load "circfont.abk",1 : Save "ram:circfont.abk",1 : Erase 1
  149. Load "shapeslogo.abk",6 : Save "ram:shapeslogo.abk",6
  150. Load "vecboblogo.abk",5 : Save "ram:vecboblogo.abk",5
  151. Load "lineslogo.abk",5 : Save "ram:lineslogo.abk",5
  152. Load "demomusic.abk",3 : Load "intrologo.abk",5
  153. Load "dtextlogo.abk",15 : Load "structured.abk",6
  154. End Proc
  155. Procedure INIT2
  156. Load "b1.abk",5 : Save "ram:b1.abk",5
  157. Load "b2.abk",6 : Save "ram:b2.abk",6
  158. Load "b3.abk",7 : Save "ram:b3.abk",7
  159. Load "b4.abk",8 : Save "ram:b4.abk",8
  160. Load "II.abk" : Load "endmusic.abk",3
  161. Load "spacepic.abk",6 : Load "head.abk",7
  162. Load "endlogo.abk",15
  163. End Proc
  164. Procedure ITRO
  165. Wait 120 : Music 1 : Wait 75
  166. Unpack 5 To 0
  167. Fade 5,0,4095,3550,3005,2732,2187,1914,1641,1368,1096,823,550,277,276,3,2,1,4095,3806,3517,3228,2955,2666,2393,2120,1847,1574,1301,1044,771,514,257
  168. Wait 360 : Fade 5 : Wait 175
  169. Unpack 6 To 0
  170. Fade 5,0,2730,3584,2560,1792,512,1024,1280,1792,2048,2560,124,15,1807,3086,3080,1568,3666,2642,273,819,1092,1365,1638,1911,2184,2457,2730,3276,3549,3822,4095
  171. Wait 260 : Fade 5 : Wait 175
  172. Erase 6 : Screen Close 0
  173. End Proc
  174. Procedure DTEXT[T$]
  175. Load "ram:interfont.abk"
  176. Screen Open 0,320,150,8,Lowres : Hide On : Flash Off : Curs Off : Cls 0
  177. Screen Display 0,,290,, : Palette 0,0,0,0,0,0,0,0 : Wait Vbl 
  178. Unpack 15 To 1 : Screen Display 1,210,40,,
  179. Set Rainbow 0,0,16,"","",""
  180. Rain(0,0)=$211 : Rainbow 0,0,124,16 : Wait Vbl : Rain(0,1)=$433 : Rainbow 0,0,124,16 : Wait Vbl 
  181. Rain(0,2)=$655 : Rainbow 0,0,124,16 : Wait Vbl : Rain(0,3)=$877 : Rainbow 0,0,124,16 : Wait Vbl 
  182. Rain(0,4)=$A99 : Rainbow 0,0,124,16 : Wait Vbl : Rain(0,5)=$CBB : Rainbow 0,0,124,16 : Wait Vbl 
  183. Rain(0,6)=$EDD : Rainbow 0,0,124,16 : Wait Vbl : Rain(0,7)=$FFF : Rainbow 0,0,124,16 : Wait Vbl 
  184. Rain(0,8)=$EDD : Rainbow 0,0,124,16 : Wait Vbl : Rain(0,9)=$CBB : Rainbow 0,0,124,16 : Wait Vbl 
  185. Rain(0,10)=$A99 : Rainbow 0,0,124,16 : Wait Vbl : Rain(0,11)=$877 : Rainbow 0,0,124,16 : Wait Vbl 
  186. Rain(0,12)=$655 : Rainbow 0,0,124,16 : Wait Vbl : Rain(0,13)=$433 : Rainbow 0,0,124,16 : Wait Vbl 
  187. Rain(0,14)=$211 : Rainbow 0,0,124,16 : Wait Vbl 
  188. Fade 3,0,2491,4,5,6,1094,7,8,9,12,14,1103,1385,1642,1916,547 : Wait 45 : Screen 0
  189. Repeat 
  190. For G=0 To 8
  191. For F=1 To 18
  192. Paste Bob F*16,G*16,Asc(Mid$(T$,(G*18)+F+CH,1))
  193. Next F
  194. Next G
  195. Fade 5,$0,3838,3292,2762,2473,1927,1397,1108
  196. For F=275 To 150 Step -2
  197. Screen Display 0,,F,, : Wait Vbl 
  198. Next F
  199. Wait 300 : Fade 5
  200. For F=150 To 290 Step 2 : Screen Display 0,,F,, : Wait Vbl : Next F
  201. Cls 0 : Add CH,162
  202. Until CH=Len(T$)
  203. Screen Close 0 : Screen 1 : Fade 3 : Wait 45
  204. For F=0 To 15 : Rain(0,F)=$0 : Rainbow 0,0,124,16 : Wait Vbl : Next F
  205. Rainbow Del 0 : Screen Close 1
  206. End Proc
  207. Procedure CIRC
  208. Load "ram:circfont.abk" : Load "ram:circle.abk",5
  209. Screen Open 0,320,180,2,Lowres : Hide On : Curs Off : Cls 0
  210. Screen Display 0,128,70,, : Palette 0,0
  211. Unpack 5 To 1
  212. Screen To Front 0 : Screen Hide 1
  213. Screen Open 2,400,32,2,Lowres : Screen Hide 2 : Screen 0
  214. Double Buffer : Bob Update Off : Autoback 0
  215. For F=1 To 360 : CX(F)=(Sin(F)*100)+128 : Next F
  216. Y1=90 : Y2=90 : CH=0 : SCAR=7 : Def Scroll 1,0,0 To 390,32,-2,0
  217. T$="   HOW DO YOU LIKE THIS??? A REWRITE OF THOSE LAME ONES FROM THE"
  218. T$=T$+" FIRST STRUCTURED INSANITY...  BY THE WAY, CAN YOU ACTUALLY READ THIS???"
  219. T$=T$+"   YAZOO..  DID WE USE THE SAME METHOD?            *"
  220. Sprite Update Off 
  221. Do 
  222. Add X1,1,1 To 360
  223. Add X2,2,1 To 359
  224. Add Y1,3,1 To 358
  225. Add Y2,1,1 To 360
  226. XP1=CX(X1)+32
  227. YP1=CX(Y1)
  228. XP2=CX(X2)+32
  229. YP2=CX(Y2)
  230. Screen 2 : Scroll 1
  231. Add SCAR,1,0 To 15 : If SCAR=0 Then Gosub PCHAR
  232. Screen Copy 1,XP1,YP1,XP1+319,YP1+180 To 0,0,0
  233. Screen Copy 1,XP2,YP2,XP2+319,YP2+180 To 0,0,0,%1100000
  234. Screen Copy 2,0,0,320,31 To 0,0,80,%1100000
  235. Screen 0
  236. Add T,1,0 To 89 : If T=0 Then Gosub CCOL
  237. Screen Swap : Wait Vbl 
  238. If B=42 Then Goto CIRCLOSE
  239. Loop 
  240. CCOL:
  241. Add CT,1,0 To 5
  242. If CT=0 Then Fade 3,$F00,$F0F
  243. If CT=1 Then Fade 3,$0,$F
  244. If CT=2 Then Fade 3,$FF0,$F0
  245. If CT=3 Then Fade 3,$FF0,$0
  246. If CT=4 Then Fade 3,$F0F,$FF
  247. If CT=5 Then Fade 3,$F,$FF
  248. Return 
  249. PCHAR:
  250. Add CH,1,1 To Len(T$)
  251. B=Asc(Mid$(T$,CH,1))
  252. Paste Bob 354,0,B
  253. Return 
  254. CIRCLOSE:
  255. Screen 0 : Wait 45 : Fade 3 : Wait 45 : Screen Close 0
  256. Screen Close 1 : Screen Close 2
  257. End Proc
  258. Procedure ROTROUT2
  259. Load "ram:lineslogo.abk",5
  260. Screen Open 0,255,230,2,Lowres : Curs Off : Cls 0 : Colour 1,$FFF : Hide On 
  261. Screen Display 0,180,90,,
  262. Double Buffer : Autoback 0 : Bob Update Off 
  263. Set Rainbow 0,0,16,"","",""
  264. Rainbow 0,0,75,16
  265. Rain(0,0)=$211 : Rainbow 0,0,75,16 : Wait Vbl 
  266. Rain(0,1)=$433 : Rainbow 0,0,75,16 : Wait Vbl 
  267. Rain(0,2)=$655 : Rainbow 0,0,75,16 : Wait Vbl 
  268. Rain(0,3)=$877 : Rainbow 0,0,75,16 : Wait Vbl 
  269. Rain(0,4)=$A99 : Rainbow 0,0,75,16 : Wait Vbl 
  270. Rain(0,5)=$CBB : Rainbow 0,0,75,16 : Wait Vbl 
  271. Rain(0,6)=$EDD : Rainbow 0,0,75,16 : Wait Vbl 
  272. Rain(0,7)=$FFF : Rainbow 0,0,75,16 : Wait Vbl 
  273. Rainbow 0,0,75,16
  274. Unpack 5 To 1 : Screen Display 1,128,30,,
  275. Fade 3,0,0,0,0,4095,3005,1913,821 : Wait 45 : Screen 0
  276. Ink 1
  277. FR=-1 : T=-100 : TY=9
  278. O$(1)="cube.abk" : O$(2)="92.abk" : O$(3)="ship1.abk" : O$(4)="diamond.abk" : O$(5)="plane.abk" : O$(6)="ship2.abk"
  279. AMOUNT(1)=8 : AMOUNT(2)=20 : AMOUNT(3)=6 : AMOUNT(4)=13 : AMOUNT(5)=21 : AMOUNT(6)=21
  280. LIMIT(1)=1391 : LIMIT(2)=5359 : LIMIT(3)=1043 : LIMIT(4)=1741 : LIMIT(5)=3863 : LIMIT(6)=2939
  281. OBJECT=1
  282. Load "ram:cube.abk",8
  283. Do 
  284. For F=1 To AMOUNT(OBJECT)
  285. Add FR,2
  286. X#(F)=Peek(Start(8)+FR-1)
  287. Y#(F)=Peek(Start(8)+FR)
  288. If FR=LIMIT(OBJECT) Then FR=-1
  289. Next F
  290. If T<0 Then Dec TY : Gosub TYPE
  291. Inc T : If T>400 Then Inc TY : Gosub TYPE
  292. On OBJECT Gosub CUBE,NINETY,SHIP1,DIAMOND,PLANE,SHIP2
  293. Screen Swap : Wait Vbl 
  294. Cls 0
  295. Loop 
  296. NEWOBJ:
  297. Inc OBJECT : If OBJECT=7 Then Goto DIE
  298. T=-100 : FR=-1
  299. Load "ram:"+O$(OBJECT),8
  300. Return 
  301. TYPE:
  302. If T=410 Then Gosub NEWOBJ
  303. If TY>8 Then TY=8
  304. If TY<0 Then TY=0
  305. If TY=0 Then Set Line %1111111111111111
  306. If TY=1 Then Set Line %1111111011111110
  307. If TY=2 Then Set Line %1111110011111100
  308. If TY=3 Then Set Line %1111100011111000
  309. If TY=4 Then Set Line %1111000011110000
  310. If TY=5 Then Set Line %1110000011100000
  311. If TY=6 Then Set Line %1100000011000000
  312. If TY=7 Then Set Line %1000000010000000
  313. If TY=8 Then Set Line %0
  314. Return 
  315. CUBE:
  316. Polyline X#(1)-50,Y#(1) To X#(2)-50,Y#(2) To X#(3)-50,Y#(3) To X#(4)-50,Y#(4) To X#(1)-50,Y#(1)
  317. Polyline X#(5)-50,Y#(5) To X#(6)-50,Y#(6) To X#(7)-50,Y#(7) To X#(8)-50,Y#(8) To X#(5)-50,Y#(5)
  318. Polyline X#(1)-50,Y#(1) To X#(5)-50,Y#(5)
  319. Polyline X#(2)-50,Y#(2) To X#(6)-50,Y#(6)
  320. Polyline X#(3)-50,Y#(3) To X#(7)-50,Y#(7)
  321. Polyline X#(4)-50,Y#(4) To X#(8)-50,Y#(8)
  322. Return 
  323. NINETY:
  324. Polyline X#(1)-50,Y#(1) To X#(2)-50,Y#(2) To X#(3)-50,Y#(3) To X#(4)-50,Y#(4) To X#(5)-50,Y#(5) To X#(6)-50,Y#(6) To X#(1)-50,Y#(1)
  325. Polyline X#(7)-50,Y#(7) To X#(8)-50,Y#(8) To X#(9)-50,Y#(9) To X#(10)-50,Y#(10) To X#(7)-50,Y#(7)
  326. Polyline X#(11)-50,Y#(11) To X#(12)-50,Y#(12) To X#(13)-50,Y#(13) To X#(14)-50,Y#(14) To X#(15)-50,Y#(15)
  327. Polyline X#(15)-50,Y#(15) To X#(16)-50,Y#(16) To X#(17)-50,Y#(17) To X#(18)-50,Y#(18) To X#(19)-50,Y#(19) To X#(20)-50,Y#(20) To X#(11)-50,Y#(11)
  328. Return 
  329. SHIP1:
  330. Polyline X#(1)-50,Y#(1) To X#(2)-50,Y#(2) To X#(3)-50,Y#(3) To X#(4)-50,Y#(4) To X#(1)-50,Y#(1) To X#(5)-50,Y#(5) To X#(6)-50,Y#(6) To X#(3)-50,Y#(3) To X#(5)-50,Y#(5) To X#(4)-50,Y#(4)
  331. Polyline X#(1)-50,Y#(1) To X#(6)-50,Y#(6) To X#(2)-50,Y#(2)
  332. Return 
  333. DIAMOND:
  334. Polyline X#(1)-50,Y#(1) To X#(2)-50,Y#(2) To X#(3)-50,Y#(3) To X#(4)-50,Y#(4) To X#(5)-50,Y#(5) To X#(6)-50,Y#(6) To X#(1)-50,Y#(1)
  335. Polyline X#(7)-50,Y#(7) To X#(8)-50,Y#(8) To X#(9)-50,Y#(9) To X#(10)-50,Y#(10) To X#(11)-50,Y#(11) To X#(12)-50,Y#(12) To X#(7)-50,Y#(7)
  336. Polyline X#(7)-50,Y#(7) To X#(1)-50,Y#(1) To X#(13)-50,Y#(13) To X#(4)-50,Y#(4) To X#(10)-50,Y#(10)
  337. Polyline X#(8)-50,Y#(8) To X#(2)-50,Y#(2) To X#(13)-50,Y#(13) To X#(5)-50,Y#(5) To X#(11)-50,Y#(11)
  338. Polyline X#(9)-50,Y#(9) To X#(3)-50,Y#(3) To X#(13)-50,Y#(13) To X#(6)-50,Y#(6) To X#(12)-50,Y#(12)
  339. Return 
  340. PLANE:
  341. Polyline X#(1),Y#(1) To X#(2),Y#(2) To X#(5),Y#(5) To X#(4),Y#(4) To X#(3),Y#(3) To X#(20),Y#(20) To X#(5),Y#(5)
  342. Polyline X#(3),Y#(3) To X#(1),Y#(1) To X#(4),Y#(4) To X#(2),Y#(2) To X#(20),Y#(20) To X#(1),Y#(1)
  343. Polyline X#(3),Y#(3) To X#(6),Y#(6) To X#(9),Y#(9) To X#(8),Y#(8) To X#(5),Y#(5)
  344. Polyline X#(20),Y#(20) To X#(21),Y#(21) To X#(9),Y#(9) To X#(7),Y#(7) To X#(4),Y#(4)
  345. Polyline X#(6),Y#(6) To X#(7),Y#(7) To X#(8),Y#(8) To X#(21),Y#(21) To X#(6),Y#(6)
  346. Polyline X#(16),Y#(16) To X#(17),Y#(17) To X#(18),Y#(18) To X#(19),Y#(19) To X#(16),Y#(16)
  347. Polyline X#(13),Y#(13) To X#(10),Y#(10) To X#(9),Y#(9) To X#(11),Y#(11) To X#(12),Y#(12)
  348. Polyline X#(9),Y#(9) To X#(15),Y#(15) To X#(14),Y#(14)
  349. Return 
  350. SHIP2:
  351. Polyline X#(4),Y#(4) To X#(1),Y#(1) To X#(2),Y#(2) To X#(3),Y#(3) To X#(4),Y#(4) To X#(5),Y#(5) To X#(2),Y#(2)
  352. Polyline X#(3),Y#(3) To X#(1),Y#(1) To X#(5),Y#(5)
  353. Polyline X#(6),Y#(6) To X#(7),Y#(7) To X#(8),Y#(8) To X#(9),Y#(9) To X#(6),Y#(6)
  354. Polyline X#(10),Y#(10) To X#(11),Y#(11) To X#(12),Y#(12) To X#(13),Y#(13) To X#(10),Y#(10)
  355. Polyline X#(14),Y#(14) To X#(16),Y#(16) To X#(15),Y#(15) To X#(17),Y#(17) To X#(14),Y#(14)
  356. Polyline X#(18),Y#(18) To X#(19),Y#(19)
  357. Polyline X#(20),Y#(20) To X#(21),Y#(21)
  358. Return 
  359. DIE:
  360. Screen 1 : Fade 3 : Wait 45 : Screen Close 1 : Erase 5
  361. For F=0 To 15 : Rain(0,F)=$0 : Rainbow 0,0,75,16 : Wait Vbl : Next F
  362. Rainbow Del 0
  363. Screen Close 0
  364. End Proc
  365. Procedure UNLIM
  366. Load "ram:unbob.abk"
  367. For F=2 To 0 Step -1
  368. Screen Open F,320,296,8,Lowres : Flash Off : Curs Off : Cls 0
  369. Screen Display F,128,20,,
  370. Palette 0,0,0,0,0,0,0,0
  371. Next F
  372. For F=1 To 720 : CX#(F)=Sin(F) : Next F
  373. A(0)=1 : A(1)=2 : A(2)=3 : XI=3 : XS#=30 : XSI#=1.04
  374. Fade 3,0,4095,3840,3328,2560,2048,1280,768
  375. Repeat 
  376. For F=0 To 2
  377. Screen F : Get Palette 0 : Screen To Front F
  378. Add A(F),XI : If A(F)>360 Then Add A(F),-360
  379. XS#=XS#+XSI# : If XS#>360 Then XS#=XS#-360
  380. XSP#=(Sin(XS#)*150)
  381. Paste Bob(CX#(A(F))*XSP#)+150,(CX#(A(F)+90)*XSP#)+140,1
  382. Paste Bob(CX#(A(F)+180)*XSP#)+150,(CX#(A(F)+270)*XSP#)+140,1
  383. Inc T : If T=75 Then Gosub CCOL
  384. Wait Vbl 
  385. Next F
  386. Until Mouse Key=1
  387. Screen 2 : Fade 3 : Wait 45 : Screen Close 0 : Screen Close 1 : Screen Close 2
  388. Goto DIE
  389. CCOL:
  390. Screen 0 : Add CT,1,0 To 5 : T=0
  391. If CT=0 Then Fade 3,$0,$FFF,$F00,$D00,$A00,$800,$500,$300
  392. If CT=1 Then Fade 3,$0,$FFF,$FF0,$DD0,$AA0,$880,$550,$330
  393. If CT=2 Then Fade 3,$0,$FFF,$F0,$D0,$A0,$80,$50,$30
  394. If CT=3 Then Fade 3,$0,$FFF,$FF,$DD,$AA,$88,$55,$33
  395. If CT=4 Then Fade 3,$0,$FFF,$F,$D,$A,$8,$5,$3
  396. If CT=5 Then Fade 3,$0,$FFF,$F0F,$D0D,$A0A,$808,$505,$303
  397. Return 
  398. DIE:
  399. End Proc
  400. Procedure STENCILVECTORS
  401. Load "ram:stencil.abk",6
  402. Load "ram:lineslogo.abk",5
  403. Screen Open 0,290,230,4,Lowres : Curs Off : Cls 1 : Colour 2,$0 : Colour 1,$0 : Hide On 
  404. Unpack 6 To 1 : Palette 0,0,0,0
  405. Screen Display 1,180,90,,229
  406. Screen Display 0,180,90,,229
  407. Wait Vbl : Dual Playfield 0,1
  408. Screen 0
  409. Set Rainbow 0,0,16,"","",""
  410. Rainbow 0,0,75,16
  411. Rain(0,0)=$211 : Rainbow 0,0,75,16 : Wait Vbl 
  412. Rain(0,1)=$433 : Rainbow 0,0,75,16 : Wait Vbl 
  413. Rain(0,2)=$655 : Rainbow 0,0,75,16 : Wait Vbl 
  414. Rain(0,3)=$877 : Rainbow 0,0,75,16 : Wait Vbl 
  415. Rain(0,4)=$A99 : Rainbow 0,0,75,16 : Wait Vbl 
  416. Rain(0,5)=$CBB : Rainbow 0,0,75,16 : Wait Vbl 
  417. Rain(0,6)=$EDD : Rainbow 0,0,75,16 : Wait Vbl 
  418. Rain(0,7)=$FFF : Rainbow 0,0,75,16 : Wait Vbl 
  419. Rainbow 0,0,75,16 : Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  420. Screen 0 : Double Buffer : Autoback 0 : Bob Update Off 
  421. Unpack 5 To 2 : Screen Display 2,128,30,,
  422. Fade 3,0,0,0,0,4095,3005,1913,821 : Wait 45 : Screen 0
  423. FR=-1 : T=0 : Cls 2
  424. Load "ram:ship2.abk",8
  425. A$="Restart:  Let Y=48; Pause; Loop:  Let Y=Y-1; If Y=0 then Jump Restart; Pause; Jump Loop;"
  426. Channel 0 To Screen Offset 1
  427. Amal 0,A$ : Amal On 
  428. Repeat 
  429. For F=1 To 21
  430. Add FR,2
  431. X#(F)=Peek(Start(8)+FR-1)
  432. Y#(F)=Peek(Start(8)+FR)
  433. If FR=2939 Then FR=-1
  434. Next F
  435. Ink 0
  436. Polygon X#(10),Y#(10) To X#(11),Y#(11) To X#(12),Y#(12) To X#(13),Y#(13) To X#(10),Y#(10)
  437. Polygon X#(6),Y#(6) To X#(7),Y#(7) To X#(8),Y#(8) To X#(9),Y#(9) To X#(6),Y#(6)
  438. Ink 1
  439. Polyline X#(4),Y#(4) To X#(1),Y#(1) To X#(2),Y#(2) To X#(3),Y#(3) To X#(4),Y#(4) To X#(5),Y#(5) To X#(2),Y#(2)
  440. Polyline X#(3),Y#(3) To X#(1),Y#(1) To X#(5),Y#(5)
  441. Polyline X#(18),Y#(18) To X#(19),Y#(19)
  442. Polyline X#(20),Y#(20) To X#(21),Y#(21)
  443. Ink 0
  444. Polygon X#(14),Y#(14) To X#(16),Y#(16) To X#(15),Y#(15) To X#(17),Y#(17) To X#(14),Y#(14)
  445. Screen Swap 
  446. Wait Vbl 
  447. Inc T : If T=10 Then Fade 3,$0,$FFF,$0,$0,$F00,$F00,$F00,$F00,$4,$80,$50,$30
  448. Cls 2
  449. Until T=250
  450. Load "ram:plane.abk",8
  451. Fade 3 : Wait 45
  452. FR=-1 : T=0 : Cls 2
  453. Repeat 
  454. For F=1 To 21
  455. Add FR,2
  456. X#(F)=Peek(Start(8)+FR-1)
  457. Y#(F)=Peek(Start(8)+FR)
  458. If FR=3863 Then FR=-1
  459. Next F
  460. Ink 1
  461. Polyline X#(1),Y#(1) To X#(2),Y#(2) To X#(5),Y#(5) To X#(4),Y#(4) To X#(3),Y#(3) To X#(20),Y#(20) To X#(5),Y#(5)
  462. Polyline X#(3),Y#(3) To X#(1),Y#(1) To X#(4),Y#(4) To X#(2),Y#(2) To X#(20),Y#(20) To X#(1),Y#(1)
  463. Polyline X#(3),Y#(3) To X#(6),Y#(6) To X#(9),Y#(9) To X#(8),Y#(8) To X#(5),Y#(5)
  464. Polyline X#(20),Y#(20) To X#(21),Y#(21) To X#(9),Y#(9) To X#(7),Y#(7) To X#(4),Y#(4)
  465. Polyline X#(6),Y#(6) To X#(7),Y#(7) To X#(8),Y#(8) To X#(21),Y#(21) To X#(6),Y#(6)
  466. Polyline X#(13),Y#(13) To X#(10),Y#(10) To X#(9),Y#(9) To X#(11),Y#(11) To X#(12),Y#(12)
  467. Polyline X#(9),Y#(9) To X#(15),Y#(15) To X#(14),Y#(14)
  468. Ink 0
  469. Polygon X#(16),Y#(16) To X#(17),Y#(17) To X#(18),Y#(18) To X#(19),Y#(19) To X#(16),Y#(16)
  470. Screen Swap 
  471. Wait Vbl 
  472. Inc T : If T=10 Then Fade 3,$0,$FFF,$0,$0,$F00,$F00,$F00,$F00,$4,$800,$500,$300
  473. Cls 2
  474. Until T=250
  475. Fade 3 : Wait 45
  476. Amal Off 
  477. Screen 2 : Fade 3 : Wait 45 : Screen Close 2 : Erase 5
  478. For F=0 To 15 : Rain(0,F)=$0 : Rainbow 0,0,75,16 : Wait Vbl : Next F
  479. Rainbow Del 0
  480. Screen Close 0 : Screen Close 1
  481. End Proc
  482. Procedure SHAPES
  483. Load "ram:shapeslogo.abk",6
  484. Screen Open 0,210,200,2,Lowres : Flash Off : Curs Off : Cls 0 : Hide On 
  485. Screen Display 0,200,98,,
  486. Set Rainbow 1,0,16,"","",""
  487. Rainbow 1,0,88,16
  488. Rain(1,0)=$211 : Rainbow 1,0,88,16 : Wait Vbl 
  489. Rain(1,1)=$433 : Rainbow 1,0,88,16 : Wait Vbl 
  490. Rain(1,2)=$655 : Rainbow 1,0,88,16 : Wait Vbl 
  491. Rain(1,3)=$877 : Rainbow 1,0,88,16 : Wait Vbl 
  492. Rain(1,4)=$A99 : Rainbow 1,0,88,16 : Wait Vbl 
  493. Rain(1,5)=$CBB : Rainbow 1,0,88,16 : Wait Vbl 
  494. Rain(1,6)=$EDD : Rainbow 1,0,88,16 : Wait Vbl 
  495. Rain(1,7)=$FFF : Rainbow 1,0,88,16 : Wait Vbl 
  496. Rainbow 1,0,88,16
  497. Unpack 6 To 1
  498. Fade 5,0,2730,3584,3600,3616,3616,3632,3649,3665,3681,3697,3969,3969,3985,4002,4018,4018,4034,4050,819,1092,1365 : Wait 75
  499. Screen 0 : Double Buffer : Autoback 0
  500. Restore RDATA
  501. Set Rainbow 0,1,180,"","",""
  502. Rainbow 0,80,93,200
  503. For F=0 To 178 Step 2
  504. Read R : Rain(0,F)=R : Rain(0,F+1)=R
  505. Next F
  506. Rainbow 0,80,93,200
  507. Restore CAT
  508. Do 
  509. Repeat 
  510. Until Mouse Key=0
  511. Inc PATT
  512. For F=1 To 8
  513. X(F)=0 : Y(F)=0
  514. XI(F)=Rnd(10) : YI(F)=Rnd(10)
  515. XS(F)=Rnd(94)+1 : YS(F)=Rnd(94)+1
  516. XP(F)=0 : YP(F)=0
  517. Next F
  518. If PATT>4 Then Goto CONT
  519. For F=1 To 8
  520. Read X(F),Y(F),XI(F),YI(F),XS(F),YS(F)
  521. Next F
  522. CONT:
  523. Repeat 
  524. For F=1 To 8
  525. Add X(F),XI(F) : If X(F)>360 Then Add X(F),-360
  526. Add Y(F),YI(F) : If Y(F)>360 Then Add Y(F),-360
  527. XP(F)=(Sin(X(F))*XS(F))+100 : YP(F)=(Sin(Y(F))*YS(F))+100
  528. Next F
  529. Polygon XP(1),YP(1) To XP(2),YP(2) To XP(3),YP(3) To XP(4),YP(4) To XP(5),YP(5) To XP(6),YP(6) To XP(7),YP(7) To XP(8),YP(8) To XP(1),YP(1)
  530. Screen Swap : Wait Vbl 
  531. Cls 0
  532. If Mouse Key=1 Then Goto DIE
  533. Until Mouse Key=2
  534. Screen Swap : Wait Vbl : Cls 0 : Screen Swap : Wait Vbl 
  535. Loop 
  536. Add R,2 : If R>180 Then R=0
  537. Rainbow 0,R,40,200
  538. RDATA:
  539. Data $F00,$F10,$F20,$F30,$F40,$F50,$F60,$F70,$F80,$F90,$FA0,$FB0,$FC0,$FD0,$FE0
  540. Data $FF0,$EF0,$DF0,$CF0,$BF0,$AF0,$9F0,$8F0,$7F0,$6F0,$5F0,$4F0,$3F0,$2F0,$1F0
  541. Data $F0,$F1,$F2,$F3,$F4,$F5,$F6,$F7,$F8,$F9,$FA,$FB,$FC,$FD,$FE
  542. Data $FF,$EF,$DF,$CF,$BF,$AF,$9F,$8F,$7F,$6F,$5F,$4F,$3F,$2F,$1F
  543. Data $F,$10F,$20F,$30F,$40F,$50F,$60F,$70F,$80F,$90F,$A0F,$B0F,$C0F,$D0F,$E0F
  544. Data $F0F,$F0E,$F0D,$F0C,$F0B,$F0A,$F09,$F08,$F07,$F06,$F05,$F04,$F03,$F02,$F01
  545. CAT:
  546. Data 0,90,0,4,95,95
  547. Data 225,315,0,0,75,75
  548. Data 90,180,4,0,95,95
  549. Data 315,45,0,0,75,75
  550. Data 180,270,0,4,95,95
  551. Data 45,135,0,0,75,75
  552. Data 270,0,4,0,95,95
  553. Data 135,225,0,0,75,75
  554. '
  555. Data 0,90,1,1,95,95
  556. Data 45,135,355,355,55,55
  557. Data 90,180,1,1,95,95
  558. Data 135,225,355,355,55,55
  559. Data 180,270,1,1,95,95
  560. Data 225,315,355,355,55,55
  561. Data 270,0,1,1,95,95
  562. Data 315,45,355,355,55,55
  563. Data 0,90,1,1,95,95
  564. Data 45,135,4,4,95,95
  565. Data 90,180,2,2,95,95
  566. Data 135,225,3,3,95,95
  567. Data 180,270,3,3,95,95
  568. Data 225,315,2,2,95,95
  569. Data 270,0,4,4,95,95
  570. Data 315,45,1,1,95,95
  571. Data 0,90,5,4,95,95
  572. Data 225,315,5,4,45,45
  573. Data 90,180,5,4,95,95
  574. Data 315,45,5,4,45,45
  575. Data 180,270,5,4,95,95
  576. Data 45,135,5,4,45,45
  577. Data 270,0,5,4,95,95
  578. Data 135,225,5,4,45,45
  579. DIE:
  580. Ink 0
  581. For F=0 To 210
  582. Draw 0,F To 200,F : Screen Swap 
  583. Draw 0,F To 200,F : Screen Swap 
  584. Wait Vbl 
  585. Next F
  586. Rainbow Del 0
  587. Screen 1 : Fade 3 : Wait 45 : Screen Close 1 : Erase 6
  588. For F=0 To 15 : Rain(1,F)=$0 : Rainbow 1,0,88,16 : Wait Vbl : Next F
  589. Rainbow Del 1
  590. Screen Close 0
  591. End Proc
  592. Procedure THREED
  593. Load "ram:lineslogo.abk",5
  594. Screen Open 0,255,230,4,Lowres : Flash Off : Curs Off : Cls 0 : Hide On 
  595. Palette 0,0,0,0
  596. Set Rainbow 0,0,16,"","",""
  597. Rainbow 0,0,75,16
  598. Rain(0,0)=$211 : Rainbow 0,0,75,16 : Wait Vbl 
  599. Rain(0,1)=$433 : Rainbow 0,0,75,16 : Wait Vbl 
  600. Rain(0,2)=$655 : Rainbow 0,0,75,16 : Wait Vbl 
  601. Rain(0,3)=$877 : Rainbow 0,0,75,16 : Wait Vbl 
  602. Rain(0,4)=$A99 : Rainbow 0,0,75,16 : Wait Vbl 
  603. Rain(0,5)=$CBB : Rainbow 0,0,75,16 : Wait Vbl 
  604. Rain(0,6)=$EDD : Rainbow 0,0,75,16 : Wait Vbl 
  605. Rain(0,7)=$FFF : Rainbow 0,0,75,16 : Wait Vbl 
  606. Rainbow 0,0,75,16
  607. Screen Display 0,180,90,,
  608. Double Buffer : Autoback 0 : Bob Update Off 
  609. Unpack 5 To 1 : Screen Display 1,128,30,,
  610. Fade 3,0,0,0,0,4095,3005,1913,821 : Wait 45 : Screen 0
  611. FR=-1 : T=0 : OBJECT=1
  612. Load "ram:cube.abk",8
  613. Fade 3,0,$B00,$B,$0
  614. Repeat 
  615. For F=1 To 8
  616. Add FR,2
  617. X#(F)=Peek(Start(8)+FR-1)
  618. Y#(F)=Peek(Start(8)+FR)
  619. If FR=1391 Then FR=-1
  620. Next F
  621. Ink 2
  622. Polyline X#(1)-50,Y#(1) To X#(2)-50,Y#(2) To X#(3)-50,Y#(3) To X#(4)-50,Y#(4) To X#(1)-50,Y#(1)
  623. Polyline X#(5)-50,Y#(5) To X#(6)-50,Y#(6) To X#(7)-50,Y#(7) To X#(8)-50,Y#(8) To X#(5)-50,Y#(5)
  624. Polyline X#(1)-50,Y#(1) To X#(5)-50,Y#(5) : Polyline X#(2)-50,Y#(2) To X#(6)-50,Y#(6)
  625. Polyline X#(3)-50,Y#(3) To X#(7)-50,Y#(7) : Polyline X#(4)-50,Y#(4) To X#(8)-50,Y#(8)
  626. Ink 1
  627. Polyline X#(1)-40,Y#(1) To X#(2)-40,Y#(2) To X#(3)-40,Y#(3) To X#(4)-40,Y#(4) To X#(1)-40,Y#(1)
  628. Polyline X#(5)-40,Y#(5) To X#(6)-40,Y#(6) To X#(7)-40,Y#(7) To X#(8)-40,Y#(8) To X#(5)-40,Y#(5)
  629. Polyline X#(1)-40,Y#(1) To X#(5)-40,Y#(5) : Polyline X#(2)-40,Y#(2) To X#(6)-40,Y#(6)
  630. Polyline X#(3)-40,Y#(3) To X#(7)-40,Y#(7) : Polyline X#(4)-40,Y#(4) To X#(8)-40,Y#(8)
  631. Screen Swap : Wait Vbl 
  632. Cls 0 : Inc T : If T=200 Then Fade 3
  633. Until T=210
  634. Wait 45 : T=0
  635. Load "ram:ship1.abk",8
  636. Fade 3,0,$B00,$B,$0
  637. Repeat 
  638. For F=1 To 6
  639. Add FR,2
  640. X#(F)=Peek(Start(8)+FR-1)
  641. Y#(F)=Peek(Start(8)+FR)
  642. If FR=1043 Then FR=-1
  643. Next F
  644. Ink 2
  645. Polyline X#(1)-50,Y#(1) To X#(2)-50,Y#(2) To X#(3)-50,Y#(3) To X#(4)-50,Y#(4) To X#(1)-50,Y#(1) To X#(5)-50,Y#(5) To X#(6)-50,Y#(6) To X#(3)-50,Y#(3) To X#(5)-50,Y#(5) To X#(4)-50,Y#(4)
  646. Polyline X#(1)-50,Y#(1) To X#(6)-50,Y#(6) To X#(2)-50,Y#(2)
  647. Ink 1
  648. Polyline X#(1)-40,Y#(1) To X#(2)-40,Y#(2) To X#(3)-40,Y#(3) To X#(4)-40,Y#(4) To X#(1)-40,Y#(1) To X#(5)-40,Y#(5) To X#(6)-40,Y#(6) To X#(3)-40,Y#(3) To X#(5)-40,Y#(5) To X#(4)-40,Y#(4)
  649. Polyline X#(1)-40,Y#(1) To X#(6)-40,Y#(6) To X#(2)-40,Y#(2)
  650. Screen Swap : Wait Vbl 
  651. Cls 0 : Inc T : If T=240 Then Fade 3
  652. Until T=250
  653. Wait 45 : Screen Close 0
  654. Screen 1 : Fade 3 : Wait 45 : Screen Close 1 : Erase 5
  655. For F=0 To 15 : Rain(0,F)=$0 : Rainbow 0,0,75,16 : Wait Vbl : Next F
  656. Rainbow Del 0
  657. End Proc
  658. Procedure MSCROLL
  659. Load "ram:mscrollfont.abk"
  660. Load "ram:mscrolldata.abk",8
  661. Screen Open 0,770,290,8,Lowres : Flash Off : Curs Off : Cls 0
  662. Screen Display 0,110,50,340,
  663. Wait Vbl 
  664. Get Sprite Palette : Colour 7,$0
  665. T$="WHAT A LARGE SCROLL! GREETS TO BITMAP,CYBORNETICS,SYNTEX,AND THE BEHOLDER...     "
  666. No Mask 
  667. Set Rainbow 0,7,180,"","",""
  668. Rainbow 0,0,45,280
  669. For F=0 To 89
  670. Read R : Rain(0,F*2)=R : Rain(0,(F*2)+1)=R
  671. Next F
  672. Rainbow 0,0,45,260
  673. Dim S$(3)
  674. A$="L R1=0; R:  L R0=1; P; L:  L R0=R0+4; L X=R0; L R1=R1+1; I R1=8 J G; H:  I X>384 J R; P; J L; G:  L R1=0; J H;"
  675. R$="R:  L X=179; P; L:  L X=X-1; I X<0 J R; P; J L;"
  676. S$(1)="R:  L Y=Z(230)+50; L X=110; P; L:  L X=X+6; I X>430 J R; P; J L;"
  677. S$(2)="R:  L Y=Z(230)+50; L X=110; P; L:  L X=X+8; I X>430 J R; P; J L;"
  678. S$(3)="R:  L Y=Z(230)+50; L X=110; P; L:  L X=X+10; I X>430 J R; P; J L;"
  679. For F=16 To 28 Step 4 : Colour F,$0 : Colour(F+1),$FFF : Colour(F+2),$888 : Colour(F+3),$444 : Next F
  680. For F=0 To 2
  681. Sprite F,110,40,36
  682. Channel F+2 To Sprite F
  683. Amal F+2,S$(F+1)
  684. Next F
  685. Channel 0 To Screen Offset 0
  686. Channel 1 To Rainbow 0
  687. Amal 0,A$ : Amal 1,R$ : Amal On 
  688. ST=Start(8)+1 : For F=1 To 360 : CX#(F)=Sin(F)*30 : Next F
  689. Do 
  690. SC=Amreg(0,0)
  691. N=Amreg(0,1)
  692. If N=0 Then Gosub NCHAR
  693. If N=1 Then Gosub NCHAR
  694. If N=2 Then Gosub NCHAR
  695. If N=3 Then Gosub NCHAR
  696. If N=4 Then Gosub NCHAR
  697. If N=5 Then Gosub NCHAR
  698. If N=6 Then Gosub NCHAR
  699. If N=7 Then Inc X
  700. If X=5 Then Add X,-5 : Gosub NCHAR8
  701. Add XH,3 : If XH>180 Then Add XH,-180
  702. Screen Offset 0,,CX#(XH)
  703. Wait Vbl 
  704. Loop 
  705. NCHAR8:
  706. Inc CH : If CH>Len(T$) Then Goto DIE
  707. B=Asc(Mid$(T$,CH,1))-32 : RB=B*42
  708. Return 
  709. NCHAR:
  710. L=(N*6)+X : SB=Peek(ST+L+RB) : NN=N*4
  711. Paste Bob SC-(32+NN),(N*32)+32,SB : Paste Bob SC+(352-NN),(N*32)+32,SB
  712. Return 
  713. Data $F00,$F10,$F20,$F30,$F40,$F50,$F60,$F70,$F80,$F90,$FA0,$FB0,$FC0,$FD0,$FE0
  714. Data $FF0,$EF0,$DF0,$CF0,$BF0,$AF0,$9F0,$8F0,$7F0,$6F0,$5F0,$4F0,$3F0,$2F0,$1F0
  715. Data $F0,$F1,$F2,$F3,$F4,$F5,$F6,$F7,$F8,$F9,$FA,$FB,$FC,$FD,$FE
  716. Data $FF,$EF,$DF,$CF,$BF,$AF,$9F,$8F,$7F,$6F,$5F,$4F,$3F,$2F,$1F
  717. Data $F,$10F,$20F,$30F,$40F,$50F,$60F,$70F,$80F,$90F,$A0F,$B0F,$C0F,$D0F,$E0F
  718. Data $F0F,$F0E,$F0D,$F0C,$F0B,$F0A,$F09,$F08,$F07,$F06,$F05,$F04,$F03,$F02,$F01
  719. DIE:
  720. Amal Off 0
  721. Fade 3 : Wait 45
  722. Amal Off : Sprite Off 
  723. Screen Close 0 : Rainbow Del 0
  724. End Proc
  725. Procedure VECBOB
  726. ' Sorry lamerz, the trick to this is the 'DAS' routine 
  727. '  that is not required in the finished sourcecode.
  728. ' Therefore, you cannot rip our method. GO AWAY! 
  729. Load "ram:bob.abk"
  730. Load "ram:vecboblogo.abk",5
  731. O$(1)="bobcube.abk" : O$(2)="bobspike.abk" : O$(3)="bobboard.abk"
  732. O$(4)="bobchair.abk" : O$(5)="bobbox.abk" : O$(6)="bobcopter.abk"
  733. AMOUNT(1)=27 : AMOUNT(2)=25 : AMOUNT(3)=49 : AMOUNT(4)=30 : AMOUNT(5)=36 : AMOUNT(6)=50
  734. LIMIT(1)=7127 : LIMIT(2)=6999 : LIMIT(3)=10387 : LIMIT(4)=5999 : LIMIT(5)=10511 : LIMIT(6)=17999
  735. CS(1)=16 : CS(2)=8 : CS(3)=16 : CS(4)=16 : CS(5)=8 : CS(6)=16
  736. Screen Open 0,320,256,2,Lowres : Curs Off : Cls 0
  737. Set Rainbow 0,0,16,"","",""
  738. Rainbow 0,0,80,16
  739. Rain(0,0)=$211 : Rainbow 0,0,70,16 : Wait Vbl 
  740. Rain(0,1)=$433 : Rainbow 0,0,70,16 : Wait Vbl 
  741. Rain(0,2)=$655 : Rainbow 0,0,70,16 : Wait Vbl 
  742. Rain(0,3)=$877 : Rainbow 0,0,70,16 : Wait Vbl 
  743. Rain(0,4)=$A99 : Rainbow 0,0,70,16 : Wait Vbl 
  744. Rain(0,5)=$CBB : Rainbow 0,0,70,16 : Wait Vbl 
  745. Rain(0,6)=$EDD : Rainbow 0,0,70,16 : Wait Vbl 
  746. Rain(0,7)=$FFF : Rainbow 0,0,70,16 : Wait Vbl 
  747. Rainbow 0,0,70,16
  748. Unpack 5 To 1 : Screen Display 1,128,34,,
  749. Fade 3,0,6,9,13 : Wait 45 : Screen 0
  750. For F=1 To 6
  751. Load "ram:"+O$(F),9
  752. Screen Open 0,260,215,CS(F),Lowres : Curs Off : Flash Off : Cls 0
  753. Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  754. Screen Display 0,170,80,, : Double Buffer : Update Off 
  755. For FB=0 To AMOUNT(F) : Set Bob FB,1,, : Next FB
  756. Gosub PALCHAN
  757. FR=-1
  758. Repeat 
  759. For FB=1 To AMOUNT(F)
  760. Add FR,4
  761. X#(FB)=Peek(Start(9)+FR-3)
  762. Y#(FB)=Peek(Start(9)+FR-2)
  763. BT(FB)=Peek(Start(9)+FR)
  764. If FR=LIMIT(F) Then FR=-1
  765. Bob AMOUNT(F)-FB,X#(FB),Y#(FB)-20,BT(FB)
  766. Next FB
  767. Update 
  768. Inc T
  769. Until T=200
  770. Fade 3 : Wait 45 : Bob Off : T=0
  771. Next F
  772. Goto DIE
  773. PALCHAN:
  774. If F=1 Then Fade 3,0,$F0F,$909,$404,$F0,$90,$40,$FFF,$FFF,$F00,$900,$400,$F,$9,$4
  775. If F=2 Then Fade 3,0,$F01,$D01,$B01,$901,$701,$501,$301
  776. If F=3 Then Fade 3,0,$F,$9,$4,$F0F,$909,$404,$FFF,$FFF,$F00,$900,$400,$FF0,$990,$440
  777. If F=4 Then Fade 3,0,$FF0,$DD0,$BB0,$990,$770,$550,$330,$FFF,$F,$D,$B,$9,$7,$5,$3
  778. If F=5 Then Fade 3,0,$EFE,$CEC,$ACA,$8A8,$686,$464,$242
  779. If F=6 Then Fade 3,0,$FF0,$DD0,$BB0,$990,$770,$550,$330,$0,$F,$9,$4,$F00,$900,$400
  780. Return 
  781. DIE:
  782. Screen 1 : Fade 3 : Wait 45 : Screen Close 1 : Erase 5
  783. For F=0 To 15 : Rain(0,F)=$0 : Rainbow 0,0,70,16 : Wait Vbl : Next F
  784. Rainbow Del 0 : Screen Close 0
  785. End Proc
  786. Procedure FLAG
  787. Load "ram:flag.abk",9
  788. Restore P
  789. For F=1 To 44 : Read P(F) : Next F
  790. Restore DX
  791. For F=1 To 44 : Read DX(F) : Next F
  792. Restore DY
  793. For F=1 To 44 : Read DY(F) : Next F
  794. Screen Open 0,320,256,4,Lowres : Curs Off : Flash Off : Hide On : Cls 0
  795. Palette 0,0,0,0 : Cls 0 : Double Buffer : Autoback 0 : Bob Update Off 
  796. Set Rainbow 0,0,16,"","",""
  797. Rainbow 0,0,40,16
  798. Rain(0,0)=$211 : Rainbow 0,0,40,16 : Wait Vbl 
  799. Rain(0,1)=$433 : Rainbow 0,0,40,16 : Wait Vbl 
  800. Rain(0,2)=$655 : Rainbow 0,0,40,16 : Wait Vbl 
  801. Rain(0,3)=$877 : Rainbow 0,0,40,16 : Wait Vbl 
  802. Rain(0,4)=$A99 : Rainbow 0,0,40,16 : Wait Vbl 
  803. Rain(0,5)=$CBB : Rainbow 0,0,40,16 : Wait Vbl 
  804. Rain(0,6)=$EDD : Rainbow 0,0,40,16 : Wait Vbl 
  805. Rain(0,7)=$FFF : Rainbow 0,0,40,16 : Wait Vbl 
  806. Rainbow 0,0,40,16
  807. Set Rainbow 1,0,16,"","",""
  808. Rainbow 1,0,290,16
  809. Rain(1,7)=$211 : Rainbow 1,0,290,16 : Wait Vbl 
  810. Rain(1,6)=$433 : Rainbow 1,0,290,16 : Wait Vbl 
  811. Rain(1,5)=$655 : Rainbow 1,0,290,16 : Wait Vbl 
  812. Rain(1,4)=$877 : Rainbow 1,0,290,16 : Wait Vbl 
  813. Rain(1,3)=$A99 : Rainbow 1,0,290,16 : Wait Vbl 
  814. Rain(1,2)=$CBB : Rainbow 1,0,290,16 : Wait Vbl 
  815. Rain(1,1)=$EDD : Rainbow 1,0,290,16 : Wait Vbl 
  816. Rain(1,0)=$FFF : Rainbow 1,0,290,16 : Wait Vbl 
  817. Rainbow 1,0,290,16
  818. T=0 : Fade 5,0,$FFF,$F00
  819. Repeat 
  820. For F=1 To 44
  821. Add P(F),4
  822. X(F)=Peek(Start(9)+P(F))+218-(30*DX(F))
  823. Y(F)=Peek(Start(9)+P(F)+1)+150-(30*DY(F))
  824. Next F
  825. Ink 1
  826. Polyline X(1),Y(1) To X(2),Y(2) To X(3),Y(3) To X(4),Y(4) To X(5),Y(5) To X(11),Y(11) To X(18),Y(18)
  827. Polyline X(18),Y(18) To X(17),Y(17) To X(16),Y(16) To X(15),Y(15) To X(14),Y(14) To X(10),Y(10) To X(1),Y(1)
  828. Paint X(1)-5,Y(1)-5,1
  829. Polyline X(23),Y(23) To X(24),Y(24) To X(25),Y(25) To X(26),Y(26) To X(27),Y(27) To X(33),Y(33) To X(40),Y(40) To X(39),Y(39)
  830. Polyline X(39),Y(39) To X(38),Y(38) To X(37),Y(37) To X(36),Y(36) To X(32),Y(32) To X(23),Y(23)
  831. Paint X(23)-5,Y(23)-5,1
  832. Polygon X(6),Y(6) To X(7),Y(7) To X(8),Y(8) To X(9),Y(9) To X(13),Y(13) To X(22),Y(22) To X(21),Y(21) To X(20),Y(20) To X(19),Y(19) To X(12),Y(12) To X(6),Y(6)
  833. Polygon X(28),Y(28) To X(29),Y(29) To X(30),Y(30) To X(31),Y(31) To X(35),Y(35) To X(44),Y(44) To X(43),Y(43) To X(42),Y(42) To X(41),Y(41) To X(34),Y(34) To X(28),Y(28)
  834. Ink 2
  835. Draw X(41),Y(41) To X(40),Y(40) : Draw X(5),Y(5) To X(6),Y(6) : Draw X(14),Y(14) To X(23),Y(23) : Draw X(22),Y(22) To X(31),Y(31)
  836. Paint X(18)-5,Y(18)-5,2
  837. Screen Swap : Wait Vbl 
  838. Cls 0
  839. Inc T : If T=95 Then Fade 5
  840. Until T=98
  841. For F=0 To 15 : Rain(0,F)=$0 : Rainbow 0,0,40,16 : Wait Vbl : Next F
  842. Rainbow Del 0
  843. For F=15 To 0 Step -1 : Rain(1,F)=$0 : Rainbow 1,0,290,16 : Wait Vbl : Next F
  844. Rainbow Del 1 : Screen Close 0
  845. P:
  846. Data 0,4,8,12,16,20,24,28,32
  847. Data 8,24,28,40
  848. Data 16,20,24,28,32,36,40,44,48
  849. Data 24,28,32,36,40,44,48,52,56
  850. Data 32,48,52,64
  851. Data 40,44,48,52,56,60,64,68,72
  852. DX:
  853. Data 0,1,2,3,4,5,6,7,8
  854. Data 0,4,5,8
  855. Data 0,1,2,3,4,5,6,7,8
  856. Data 0,1,2,3,4,5,6,7,8
  857. Data 0,4,5,8
  858. Data 0,1,2,3,4,5,6,7,8
  859. DY:
  860. Data 0,0,0,0,0,0,0,0,0
  861. Data 1,1,1,1
  862. Data 2,2,2,2,2,2,2,2,2
  863. Data 3,3,3,3,3,3,3,3,3
  864. Data 4,4,4,4
  865. Data 5,5,5,5,5,5,5,5,5
  866. End Proc
  867. Procedure PATTERNS
  868. Load "ram:pattlogo.abk",6
  869. Unpack 6 To 6 : Screen Hide 6 : Hide On 
  870. For F=0 To 5
  871. Screen Open F,260,220,8,Lowres : Flash Off : Curs Off : Cls 0
  872. Palette 0,0,0,0,0,0,0,0
  873. Screen Hide F
  874. Next F
  875. For F=0 To 5 : Screen Display F,168,247,,70 : Next F
  876. OFF=0
  877. For G=0 To 5
  878. Screen To Front G
  879. For F=50 To 319
  880. Screen Copy 6,F,0,F+1,70 To G,F-35,(Sin(F+OFF)*10)
  881. Screen Copy 6,F,0,F+1,70 To G,F-35,(Sin(F+OFF+20)*10)+70
  882. Screen Copy 6,F,0,F+1,70 To G,F-35,(Sin(F+OFF+40)*10)+140
  883. Next F
  884. For F=0 To 69
  885. Screen Copy G,0,F,260,F+1 To G,(Sin(F+OFF+145)*20),F
  886. Screen Copy G,0,F+70,260,F+71 To G,(Sin(F+OFF+145+20)*20),F+70
  887. Screen Copy G,0,F+140,260,F+141 To G,(Sin(F+OFF+145+40)*20),F+140
  888. Next F
  889. Add OFF,60
  890. Next G
  891. Screen Open 6,220,220,32,Lowres : Flash Off : Curs Off : Cls 0
  892. Screen Display 6,190,25,, : Screen To Front 0 : Screen 0
  893. Set Rainbow 0,0,16,"","",""
  894. Rainbow 0,0,240,16
  895. Rain(0,0)=$211 : Rainbow 0,0,237,16 : Wait Vbl 
  896. Rain(0,1)=$433 : Rainbow 0,0,237,16 : Wait Vbl 
  897. Rain(0,2)=$655 : Rainbow 0,0,237,16 : Wait Vbl 
  898. Rain(0,3)=$877 : Rainbow 0,0,237,16 : Wait Vbl 
  899. Rain(0,4)=$A99 : Rainbow 0,0,237,16 : Wait Vbl 
  900. Rain(0,5)=$CBB : Rainbow 0,0,237,16 : Wait Vbl 
  901. Rain(0,6)=$EDD : Rainbow 0,0,237,16 : Wait Vbl 
  902. Rain(0,7)=$FFF : Rainbow 0,0,237,16 : Wait Vbl 
  903. Rainbow 0,0,237,16
  904. For F=0 To 5 : Screen Show F : Next F
  905. Fade 3,0,4095,3855,3341,2827,2313,1799,1285 : Wait 45
  906. For F=1 To 5 : Screen F : Get Palette 0 : Next F : Screen 6
  907. For F=1 To 360 : CX#(F)=(Sin(F)*100)+110 : Next F
  908. Do 
  909. T=0 : TX=0 : Read X1,Y1,X2,Y2,XI1,YI1,XI2,YI2,ML,TL,A
  910. If X1=999 Then Goto PATDIE
  911. If A=0 Then Palette $0,$100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00,$E00,$D00,$C00,$B00,$A00,$900,$800,$700,$600,$500,$400,$300,$200,$100,$0
  912. If A=1 Then Palette $0,$10,$20,$30,$40,$50,$60,$70,$80,$90,$A0,$B0,$C0,$D0,$E0,$F0,$E0,$D0,$C0,$B0,$A0,$90,$80,$70,$60,$50,$40,$30,$20,$10,$0
  913. If A=2 Then Palette $0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E,$F,$E,$D,$C,$B,$A,$9,$8,$7,$6,$5,$4,$3,$2,$1,$0
  914. Shift Down 1,1,30,1
  915. Repeat 
  916. Add X1,XI1 : If X1>360 Then Add X1,-360
  917. Add Y1,YI1 : If Y1>360 Then Add Y1,-360
  918. Add X2,XI2 : If X2>360 Then Add X2,-360
  919. Add Y2,YI2 : If Y2>360 Then Add Y2,-360
  920. Add I,1,1 To 30 : Ink I
  921. Draw CX#(X1),CX#(Y1) To CX#(X2),CX#(Y2)
  922. Gosub WLOGO
  923. Wait Vbl 
  924. Add TX,ML
  925. Inc T
  926. Until TX=TL*360
  927. Repeat 
  928. Gosub WLOGO
  929. Wait Vbl : Inc T
  930. Until T>750
  931. Shift Off : Fade 3
  932. For F=0 To 45 : Wait Vbl : Gosub WLOGO : Next F
  933. Cls 0
  934. Loop 
  935. WLOGO:
  936. If A=0 Then A=1 : Return 
  937. A=0 : Add IM,1,0 To 2
  938. If IM=0 Then Add SC,1,0 To 5
  939. If SC=6 Then SC=0
  940. Screen To Front SC : Screen Offset SC,0,(IM*70)+6
  941. Return 
  942. CDATA:
  943. Data 0,90,0,90,4,4,1,1,4,4,0
  944. Data 0,90,180,270,4,2,4,2,4,4,1
  945. Data 0,0,0,0,1,2,4,1,4,4,2
  946. Data 90,270,0,90,2,2,2,2,2,2,0
  947. Data 0,90,0,90,2,2,3,3,3,6,1
  948. Data 0,25,50,75,1,1,1,1,1,1,2
  949. Data 999,0,0,0,0,0,0,0,0,0,0
  950. PATDIE:
  951. Screen Close 6
  952. Screen SC : Fade 3 : Wait 45
  953. For F=0 To 5 : Screen Close F : Next F
  954. For F=0 To 15 : Rain(0,F)=$0 : Rainbow 0,0,237,16 : Wait Vbl : Next F
  955. Rainbow Del 0
  956. End Proc
  957. Procedure THEEND
  958. Music 1
  959. Def Scroll 1,0,0 To 320,256,0,-1
  960. Gosub DAT
  961. Set Rainbow 0,0,296,"","","" : Rainbow 0,0,40,296
  962. Rain(0,98)=$444 : Rainbow 0,0,40,296 : Wait Vbl : Rain(0,99)=$777 : Rainbow 0,0,40,296 : Wait Vbl 
  963. Rain(0,100)=$AAA : Rainbow 0,0,40,296 : Wait Vbl : Rain(0,101)=$DDD : Rainbow 0,0,40,296 : Wait Vbl 
  964. Rain(0,102)=$FFF : Rainbow 0,0,40,296 : Wait Vbl : Rain(0,103)=$999 : Rainbow 0,0,40,296 : Wait Vbl 
  965. Rain(0,261)=$444 : Rainbow 0,0,40,296 : Wait Vbl : Rain(0,260)=$777 : Rainbow 0,0,40,296 : Wait Vbl 
  966. Rain(0,259)=$AAA : Rainbow 0,0,40,296 : Wait Vbl : Rain(0,258)=$DDD : Rainbow 0,0,40,296 : Wait Vbl 
  967. Rain(0,257)=$FFF : Rainbow 0,0,40,296 : Wait Vbl : Rain(0,256)=$999 : Rainbow 0,0,40,296 : Wait Vbl 
  968. Unpack 7 To 3
  969. For F=-80 To 35 Step 2 : Screen Display 3,120,F,,104 : Wait Vbl : Next F
  970. Unpack 6 To 0 : Screen Display 0,128,145,,
  971. Double Buffer : Autoback 0 : Bob Update Off 
  972. Fade 3,0,768,1280,1536,2048,2320,2576,2864,3136,3408,3441,3730,3763,4052,4085,4090,4095,3551,3022,2494,1966,1677,1404,1131,1097,824,551,294,278,5,4,3 : Wait 45
  973. Unpack 6 To 1 : Screen Hide 1
  974. Screen Open 2,320,200,16,Lowres : Flash Off : Curs Off : Cls 0
  975. Paper 0 : Pen 15 : Locate 0,19
  976. Screen Hide 2 : Screen 0 : CH=0
  977. Repeat 
  978. Screen 2 : Scroll 1 : Inc H : If H=9 Then H=0 : Gosub NLINE
  979. Screen Copy 1 To 0
  980. Screen Copy 2,0,0,320,160 To 0,0,0,%1100000
  981. Screen 0 : Screen Swap : Wait Vbl 
  982. Until Mouse Key=1
  983. Goto DIE
  984. NLINE:
  985. Add CH,30,0 To Len(T$)
  986. Centre Mid$(T$,CH+1,30)
  987. Return 
  988. DAT:
  989.    T$="                              " : T$=T$+"                              "
  990. T$=T$+"This is the end of our coolest"
  991. T$=T$+"demo ever...  And this message" : T$=T$+"contains all our messages, and"
  992. T$=T$+" greets to people around the  " : T$=T$+"          world.....          "
  993. T$=T$+"                              " : T$=T$+"  Credits:                    "
  994. T$=T$+"  ~~~~~~~~                    " : T$=T$+"   All coding by JAG...       "
  995. T$=T$+"   GFX by Chaos, Sandman, JAG " : T$=T$+"    and Texas Tez...          "
  996. T$=T$+"   Main theme by Dr Awesome   " : T$=T$+"    from Crusaders...         "
  997. T$=T$+"   End piece by Moby of       " : T$=T$+"    Alcatraz...               "
  998. T$=T$+"   Digitised pic by Bodean... " : T$=T$+"                              "
  999. T$=T$+"                              " : T$=T$+"  Fanatix members are:        "
  1000. T$=T$+"  ~~~~~~~~~~~~~~~~~~~~        " : T$=T$+"   JAG - Code, GFX            "
  1001. T$=T$+"                              " : T$=T$+"   Chaos - GFX                "
  1002. T$=T$+"                              " : T$=T$+"   Sandman - Code, GFX, Music "
  1003. T$=T$+"                              " : T$=T$+"   Texas Tez - GFX            "
  1004. T$=T$+"                              " : T$=T$+"   Foottapper - Music, GFX    "
  1005. T$=T$+"                              " : T$=T$+"   Tomo - Assorted            "
  1006. T$=T$+"                              "
  1007. T$=T$+" As you can see, we just got 4" : T$=T$+"more members in Stoke On Trent"
  1008. T$=T$+"who used to be called Almighty" : T$=T$+" Sandman and Texas Tez work   "
  1009. T$=T$+"together under the name TSW!! "
  1010. T$=T$+"                              " : T$=T$+"                              "
  1011. T$=T$+"  Fanatix greets fly out to:  " : T$=T$+"  ~~~~~~~~~~~~~~~~~~~~~~~~~~  "
  1012. T$=T$+"   Bitmap (Yazoo, K-Tel,      " : T$=T$+"    Mercury, Will)            "
  1013. T$=T$+"                              " : T$=T$+"   Cybornetics (Matt, Dug, Rob"
  1014. T$=T$+"    , Stu)                    " : T$=T$+"                              "
  1015. T$=T$+"   Syntex (Avoriaz, PIB, Bird " : T$=T$+"    , Maximum Overdrive, Lux  "
  1016. T$=T$+"    Interior)                 " : T$=T$+"                              "
  1017. T$=T$+"   Beholder, Reinca, Robots   " : T$=T$+"                              "
  1018. T$=T$+"   Bladerunners, Francois L.  " : T$=T$+"                              "
  1019. T$=T$+"   Sandra Sharkey, Len+Anne T." : T$=T$+"                              "
  1020. T$=T$+"   Mike Gerrard, Phil 'AMOS'  " : T$=T$+"    hero' South.....          "
  1021. T$=T$+"                              " : T$=T$+"                              "
  1022. T$=T$+"This is JAG typing at the     "
  1023. T$=T$+" moment, do you like our new  " : T$=T$+" text generator routine??  And"
  1024. T$=T$+" the 3D line vectors???       " : T$=T$+"If there is enough interest,  "
  1025. T$=T$+" we may organise an AMOS meet " : T$=T$+" up!!!  But first, more people"
  1026. T$=T$+" will have to contact us.  And" : T$=T$+" that means Syntex, Reinca,   "
  1027. T$=T$+" Robots, Bladerunners, and    " : T$=T$+" anyone else who does demos.  "
  1028. T$=T$+"                              " : T$=T$+"Personal greets to:           "
  1029. T$=T$+"                              " : T$=T$+"   Yazoo (Bitmap)--  Great to "
  1030. T$=T$+"    get your Christmas demo!  " : T$=T$+"    Keep sending...           "
  1031. T$=T$+"                              " : T$=T$+"   Matt (Cybornetics)-- Will  "
  1032. T$=T$+"    you ever manage to finish " : T$=T$+"    another demo???           "
  1033. T$=T$+"                              " : T$=T$+"   Beholder-- Hope the coding "
  1034. T$=T$+"    is coming along fine!!    " : T$=T$+"                              "
  1035. T$=T$+"   PIB (Syntex)-- What do you " : T$=T$+"    think of my vector-bobs???"
  1036. T$=T$+"    They have priorities!!    " : T$=T$+"                              "
  1037. T$=T$+"I also greet:                 " : T$=T$+"   Reinca-- Contact us.       "
  1038. T$=T$+"   Robots-- Contact us.       " : T$=T$+"   Bladerunners-- See above   "
  1039. T$=T$+"   Hanissis 5-- Don't bother. " : T$=T$+"    Best AMOS group in the    "
  1040. T$=T$+"    world??  I think not. When" : T$=T$+"    I first saw your demos, I "
  1041. T$=T$+"    was blown away with how   " : T$=T$+"    lame they were.  How did  "
  1042. T$=T$+"    you manage those really   " : T$=T$+"    boring, jerky, slow, and  "
  1043. T$=T$+"    uninteresting text wipes??" : T$=T$+"    You are truly the direst  "
  1044. T$=T$+"    people on the planet...   " : T$=T$+"                              "
  1045. T$=T$+"                              " : T$=T$+"Now it's Chaos' turn....      "
  1046. T$=T$+" I've got nothing much to say " : T$=T$+" this time, except that this  "
  1047. T$=T$+" is our best production so far" : T$=T$+"By the way, Sandra Sharkey, it"
  1048. T$=T$+" is really lame expecting     " : T$=T$+" people to pay £15.00 for some"
  1049. T$=T$+" priority service?!?!    All  " : T$=T$+" this means is that anyone who"
  1050. T$=T$+" doesn't pay up gets useless  " : T$=T$+" service.                     "
  1051. T$=T$+"Personal greets to:-          " : T$=T$+" Syntex- Hope you got the demo"
  1052. T$=T$+"  the Punishment was cool.    " : T$=T$+" Mike G- What do you think?   "
  1053. T$=T$+"  Do you remember that issue  " : T$=T$+"  of YS where they called you "
  1054. T$=T$+"  a bearded troll???          "
  1055. T$=T$+" Oh yeah, Hanissis 'modest' 5," : T$=T$+" What's all this best group in"
  1056. T$=T$+"  the world joke?  You are    " : T$=T$+"  nothing but a bunch of sad, "
  1057. T$=T$+"  talentless lamers....       "
  1058. T$=T$+"                              " : T$=T$+"                              "
  1059. T$=T$+"Hey kids, this is Sandman! (A " : T$=T$+" new Fanatix member)  How are "
  1060. T$=T$+" you all doin' out there?  Oh," : T$=T$+" that's OK- I'm not too bad   "
  1061. T$=T$+" myself thanks.  I've only one" : T$=T$+" word to say- GRAPHICS! (Some "
  1062. T$=T$+" of them by me and Texas Tez) " : T$=T$+"So see you all at the Sixteen "
  1063. T$=T$+" Bit Computer Fair!  BBYYEEEE!" : T$=T$+"                              "
  1064. T$=T$+"                              " : T$=T$+"Hey babes!  Long time no see! "
  1065. T$=T$+" (In fact, who the hell are   " : T$=T$+" you?)  Well, I'm Texas Tez- a"
  1066. T$=T$+" new kid in town!  And I help " : T$=T$+" out with the GFX. (Well..    "
  1067. T$=T$+" sometimes I do the GFX!)     " : T$=T$+"Anyway, I'd just like to      "
  1068. T$=T$+" announce my sister's wedding " : T$=T$+" (Good on ya sis!), everyone  "
  1069. T$=T$+" who reads this are invited!  " : T$=T$+" (Providing you can find the  "
  1070. T$=T$+" church!)                     " : T$=T$+"                              "
  1071. T$=T$+"                              " : T$=T$+"Heeerrres Tomo!  Yes, it's me,"
  1072. T$=T$+" the most good looking member " : T$=T$+" of Fanatix!  I'm at college  "
  1073. T$=T$+" now writing this tedious text" : T$=T$+" for JAG to put into this new "
  1074. T$=T$+" demo.  Check out Sandman's   " : T$=T$+" new module because its ******"
  1075. T$=T$+" good!  OK, let's say a few   " : T$=T$+" hellos.  Hello, hello, hello."
  1076. T$=T$+"There, thats enough hellos for" : T$=T$+" now. Yo to JAG and Kal(a mate"
  1077. T$=T$+" of mine)as well as all of the" : T$=T$+" ITEC posse (except Wils cos  "
  1078. T$=T$+" he's a ******!)  Oh yeah,    " : T$=T$+" before I forget, Mum and Dad-"
  1079. T$=T$+" Buy me a ****** car!!! PLEASE" : T$=T$+"*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-"
  1080. T$=T$+"-Unfortunately, the rest of   " : T$=T$+" Tomo's text had to be totally"
  1081. T$=T$+" removed for the AMOS PD...   " : T$=T$+"                              "
  1082. T$=T$+"                              " : T$=T$+"Yo! This is Foottapper and I'm"
  1083. T$=T$+" a new member of Fanatix.  Yes" : T$=T$+" as you can tell from my name,"
  1084. T$=T$+" I'm the music man! (Surprise)" : T$=T$+" So all you lot out there may "
  1085. T$=T$+" well listen to my music very " : T$=T$+" soon.  The music modules that"
  1086. T$=T$+" I'm writing now is a big one!" : T$=T$+"It has well over 10 intruments"
  1087. T$=T$+" all very long.  So watch (and" : T$=T$+" listen) out for it very soon "
  1088. T$=T$+" because it's heavy! (Well    " : T$=T$+" heavyish anyway!)            "
  1089. T$=T$+"                              " : T$=T$+"                              "
  1090. T$=T$+"For more demo madness, see our" : T$=T$+" other products:--            "
  1091. T$=T$+"                              " : T$=T$+"  Fanatix Megademo 1 (lame)   "
  1092. T$=T$+"  Fanatix Megademo 2          " : T$=T$+"  Fanatix Music Disk 1        "
  1093. T$=T$+"  Fanatix Megademo 3          " : T$=T$+"  Fanatix Megademo 4          "
  1094. T$=T$+"  Structured Insanity         " : T$=T$+"  Fanatix Megademo 5          "
  1095. T$=T$+"  Fanatix Megademo 6          " : T$=T$+"  And this of course...       "
  1096. T$=T$+"                              " : T$=T$+"Available from the AMOS P.D.  "
  1097. T$=T$+" library, or from our contact " : T$=T$+" address:                     "
  1098. T$=T$+"                              " : T$=T$+"  FANATIX,                    "
  1099. T$=T$+"   29 Cambridge Road,         " : T$=T$+"    Godmanchester,            "
  1100. T$=T$+"     Huntingdon,              " : T$=T$+"      Cambs,                  "
  1101. T$=T$+"       PE18 8BT,              " : T$=T$+"        England...            "
  1102. T$=T$+"                              " : T$=T$+"                              "
  1103. T$=T$+"Things used to create this new"
  1104. T$=T$+" demo were:                   " : T$=T$+"                              "
  1105. T$=T$+"   AMOS (Of course)           " : T$=T$+"   The AMOS Compiler..        "
  1106. T$=T$+"   Deluxe Paint IV            " : T$=T$+"   Action Replay III          "
  1107. T$=T$+"   3 or more Amigas           " : T$=T$+"   Loads of TV's and monitors "
  1108. T$=T$+"   1 knackered mouse, some    " : T$=T$+"    that work!!               "
  1109. T$=T$+"   Lots of disk drives        " : T$=T$+"   Lots of disks              "
  1110. T$=T$+"   Vector GFX book by ABACUS  " : T$=T$+"   Superior intelligence      "
  1111. T$=T$+"   GFX ripper (the font)      " : T$=T$+"   Cans of Coke (too many to  "
  1112. T$=T$+"    count.                    " : T$=T$+"   Fanatix Vector Plotter     "
  1113. T$=T$+"   Fanatix Noisetracker       " : T$=T$+"    converter...              "
  1114. T$=T$+"   Sprite grabber             " : T$=T$+" And much more...             "
  1115. T$=T$+"                              " : T$=T$+" Now for something different. "
  1116. T$=T$+" Our top 20 dislikes:         "
  1117. T$=T$+" ~~~~~~~~~~~~~~~~~~~~         " : T$=T$+"20.The AMOS maths routines.   "
  1118. T$=T$+"                              " : T$=T$+"19.Flat Coke.                 "
  1119. T$=T$+"                              " : T$=T$+"18.Assembly groups that do    "
  1120. T$=T$+"   demos less impressive than " : T$=T$+"   AMOS ones!!!               "
  1121. T$=T$+"                              " : T$=T$+"17.Tiertex of Strider II fame."
  1122. T$=T$+"                              " : T$=T$+"16.The infamous 16 pixel jerk!"
  1123. T$=T$+"                              " : T$=T$+"15.AMOS 'friendly' 3D...      "
  1124. T$=T$+"                              " : T$=T$+"14.The Bitmap Brothers (M.P.)!"
  1125. T$=T$+"                              " : T$=T$+"13.Lame reviews - Amiga Action"
  1126. T$=T$+"                              " : T$=T$+"12.Lame reviews - Amiga Power."
  1127. T$=T$+"                              " : T$=T$+"11.Dying internal drives!     "
  1128. T$=T$+"                              " : T$=T$+"10.Deluded ST owners.         "
  1129. T$=T$+"                              " : T$=T$+" 9.Wrongly programmed videos. "
  1130. T$=T$+"                              " : T$=T$+" 8.Has beens E.g. Lionel Blair"
  1131. T$=T$+"                              " : T$=T$+" 7.Hanissis 5 - False claims.."
  1132. T$=T$+"                              " : T$=T$+" 6.A500 Plus.                 "
  1133. T$=T$+"                              " : T$=T$+" 5.Shops that sell everything "
  1134. T$=T$+"   but the thing you want.    " : T$=T$+"                              "
  1135. T$=T$+" 4.Sad people who do Busking  " : T$=T$+"   in the London subways..    "
  1136. T$=T$+"                              " : T$=T$+" 3.Those people who sell you  "
  1137. T$=T$+"   the wrong disks at computer" : T$=T$+"   shows!!?!                  "
  1138. T$=T$+"                              " : T$=T$+" 2.Eastenders - such a happy, "
  1139. T$=T$+"   cheerfull programme.       " : T$=T$+"                              "
  1140. T$=T$+" 1.The crusty Malteser - no   " : T$=T$+"   matter how hard you try, it"
  1141. T$=T$+"   is always the last one in a" : T$=T$+"   pack of Revels.  And even  "
  1142. T$=T$+"   though you KNOW you won't  " : T$=T$+"   like it, you can't resist  "
  1143. T$=T$+"   eating the bloody thing...." : T$=T$+"                              "
  1144. T$=T$+"                              "
  1145. T$=T$+"     *****  *   *  *****      " : T$=T$+"       *    *   *  *          "
  1146. T$=T$+"       *    *****  ***        " : T$=T$+"       *    *   *  *          "
  1147. T$=T$+"       *    *   *  *****      " : T$=T$+"                              "
  1148. T$=T$+"     *****  *****  ****       " : T$=T$+"     *      *   *  *   *      "
  1149. T$=T$+"     ***    *   *  *   *      " : T$=T$+"     *      *   *  *   *      "
  1150. T$=T$+"     *****  *   *  ****       " : T$=T$+"                              "
  1151. T$=T$+" Fanatix Productions in 1992! " : T$=T$+"             -*-              "
  1152. T$=T$+"                              " : T$=T$+"                              "
  1153. T$=T$+"                              " : T$=T$+"                              "
  1154. T$=T$+"Now press the mouse button or " : T$=T$+" listen to this cool tune.... "
  1155. T$=T$+"                              " : T$=T$+"                              "
  1156. T$=T$+"                              " : T$=T$+"                              "
  1157. T$=T$+"                              " : T$=T$+"                              "
  1158. T$=T$+"(9900 Bytes long!!!!)         "
  1159. Return 
  1160. DIE:
  1161. Screen 0 : Fade 5 : Wait 75 : Screen Close 1 : Screen Close 2 : Screen Close 0
  1162. Screen 3 : For F=35 To -80 Step -2 : Screen Display 3,120,F,,104 : Wait Vbl : Next F
  1163. Screen Close 3 : Wait 45
  1164. For F=98 To 103 : Rain(0,F)=$0 : Rainbow 0,0,40,296 : Wait Vbl : Next F
  1165. For F=261 To 256 : Rain(0,F)=$0 : Rainbow 0,0,40,296 : Wait Vbl : Next F
  1166. Rainbow Del 0
  1167. End Proc
  1168. Procedure OUTRO
  1169. Load "ram:b1.abk",5 : Load "ram:b2.abk",6
  1170. Load "ram:b3.abk",7 : Load "ram:b4.abk",8
  1171. For F=1 To 360 : CX#(F)=Sin(F) : Next F
  1172. For F=0 To 3
  1173. Unpack F+5 To F : Screen Hide F : Get Sprite Palette 
  1174. Screen Display F,128,150,,
  1175. For G=16 To 19
  1176. Colour G,Colour(G-16) : Colour G+4,Colour(G-16) : Colour G+8,Colour(G-16) : Colour G+12,Colour(G-16)
  1177. Next G
  1178. Next F
  1179. Set Rainbow 0,1,161,"(2,1,15)(2,-1,15)","","" : Rainbow 0,0,165,150
  1180. For F=0 To 150 Step 10
  1181. Read R : For G=0 To 9 : Rain(0,F+G)=R : Next G
  1182. Next F
  1183. X1=180 : XP1=300 : F1=1 : B1=1
  1184. X2=225 : XP2=130 : F2=3 : B2=5
  1185. X3=270 : XP3=180 : F3=4 : B3=7
  1186. X4=315 : XP4=240 : F4=6 : B4=11
  1187. Randomize Timer
  1188. Set Rainbow 1,0,16,"","",""
  1189. Rainbow 1,0,140,16
  1190. Rain(1,0)=$211 : Rainbow 1,0,140,16 : Wait Vbl 
  1191. Rain(1,1)=$433 : Rainbow 1,0,140,16 : Wait Vbl 
  1192. Rain(1,2)=$655 : Rainbow 1,0,140,16 : Wait Vbl 
  1193. Rain(1,3)=$877 : Rainbow 1,0,140,16 : Wait Vbl 
  1194. Rain(1,4)=$A99 : Rainbow 1,0,140,16 : Wait Vbl 
  1195. Rain(1,5)=$CBB : Rainbow 1,0,140,16 : Wait Vbl 
  1196. Rain(1,6)=$EDD : Rainbow 1,0,140,16 : Wait Vbl 
  1197. Rain(1,7)=$FFF : Rainbow 1,0,140,16 : Wait Vbl 
  1198. Rainbow 1,0,140,16
  1199. Unpack 15 To 4 : Screen Display 4,128,30,,
  1200. Fade 5,0,3232,3792,3504,4080,3200,2928,2656,2368,2096,1840,1568,1552,1296,1024,768
  1201. Wait 75
  1202. For F=0 To 3 : Screen Show F : Next F
  1203. Do 
  1204. Gosub BOARD
  1205. Gosub II1
  1206. Gosub II2
  1207. Gosub II3
  1208. Gosub II4
  1209. Wait Vbl 
  1210. Loop 
  1211. BOARD:
  1212. Add SC,1,0 To 3 : Screen To Front SC
  1213. Return 
  1214. Data $100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00
  1215. Data $F00
  1216. II1:
  1217. Add X1,5 : If X1>360 Then X1=180 : Add B1,2 : Inc F1 : If F1=7 Then F1=1 : B1=1 : X1=Rnd(160)+180 : XP1=Rnd(310)+130
  1218. If X1<271 Then Sprite 0,XP1,175+(CX#(X1)*(20*F1))+(F1*(6+(F1*2))),B1
  1219. If X1>270 Then Sprite 0,XP1,175+(CX#(X1)*(20*F1))+(F1*(6+(F1*2))),B1+1
  1220. Return 
  1221. II2:
  1222. Add X2,5 : If X2>360 Then X2=180 : Add B2,2 : Inc F2 : If F2=7 Then F2=1 : B2=1 : X2=Rnd(160)+180 : XP2=Rnd(310)+130
  1223. If X2<271 Then Sprite 1,XP2,175+(CX#(X2)*(20*F2))+(F2*(6+(F2*2))),B2
  1224. If X2>270 Then Sprite 1,XP2,175+(CX#(X2)*(20*F2))+(F2*(6+(F2*2))),B2+1
  1225. Return 
  1226. II3:
  1227. Add X3,5 : If X3>360 Then X3=180 : Add B3,2 : Inc F3 : If F3=7 Then F3=1 : B3=1 : X3=Rnd(160)+180 : XP3=Rnd(310)+130
  1228. If X3<271 Then Sprite 2,XP3,175+(CX#(X3)*(20*F3))+(F3*(6+(F3*2))),B3
  1229. If X3>270 Then Sprite 2,XP3,175+(CX#(X3)*(20*F3))+(F3*(6+(F3*2))),B3+1
  1230. Return 
  1231. II4:
  1232. Add X4,5 : If X4>360 Then X4=180 : Add B4,2 : Inc F4 : If F4=7 Then F4=1 : B4=1 : X4=Rnd(160)+180 : XP4=Rnd(310)+130
  1233. If X4<271 Then Sprite 3,XP4,175+(CX#(X4)*(20*F4))+(F4*(6+(F4*2))),B4
  1234. If X4>270 Then Sprite 3,XP4,175+(CX#(X4)*(20*F4))+(F4*(6+(F4*2))),B4+1
  1235. Return 
  1236. End Proc
  1237. Procedure TERMINATE
  1238. For F=63 To 0 Step -1
  1239. For T=0 To 1000 : Next T
  1240. Wait Vbl : Mvolume F
  1241. Next F
  1242. Music Off : Led Off : Mvolume 63
  1243. Erase 3 : Erase 8 : Erase 9 : Erase 6 : Erase 5 : Erase 15
  1244. Kill "ram:cube.abk" : Kill "ram:ship1.abk"
  1245. Kill "ram:diamond.abk" : Kill "ram:plane.abk"
  1246. Kill "ram:ship2.abk" : Kill "ram:92.abk"
  1247. Kill "ram:bobcube.abk" : Kill "ram:bobspike.abk"
  1248. Kill "ram:bobcopter.abk" : Kill "ram:bobboard.abk"
  1249. Kill "ram:bobbox.abk" : Kill "ram:bobchair.abk"
  1250. Kill "ram:pattlogo.abk" : Kill "ram:mscrollfont.abk"
  1251. Kill "ram:mscrolldata.abk" : Kill "ram:circfont.abk"
  1252. Kill "ram:circle.abk" : Kill "ram:bob.abk"
  1253. Kill "ram:interfont.abk" : Kill "ram:flag.abk"
  1254. Kill "ram:stencil.abk" : Kill "ram:unbob.abk"
  1255. Kill "ram:shapeslogo.abk" : Kill "ram:lineslogo.abk"
  1256. Kill "ram:vecboblogo.abk"
  1257. End Proc
  1258.